package main

import (
	"fmt"
	"net"
	"os"
)

func main() {
	conn, err := net.Dial("tcp", "127.0.0.1:8000")
	if err != nil {
		fmt.Println("创建连接错误: ", err)
		return
	}
	defer conn.Close()

	//获取用户键盘输入,将输入数据发送给服务器
	go func() {
		s := make([]byte, 4096)
		for {
			n, err := os.Stdin.Read(s)
			if err != nil {
				fmt.Println("读本地输入错误: ", err)
				continue //一次读出错
			}
			// 写给服务器
			_, _ = conn.Write(s[:n])
		}
	}()
	//回显服务器回发的大写数据
	buf := make([]byte, 4096)
	for {
		n, err := conn.Read(buf)
		if err != nil {
			fmt.Println("读服务器数据错误: ", err)
			return
		}
		fmt.Println("服务器响应: ", string(buf[:n]))
	}
}
